//入口函数
$(function () {
    //需求1：定义校验规则
    let form = layui.form
    //form对象中有一个方法verify专门定义校验规则
    //参数是对象类型，属性是规则名称，值是具体规则
    form.verify({
        nickname: [
            /^[\S]{1,10}$/,
            '昵称的长度为1-10个字符！'
        ]
    })

    //需求2:初始化渲染用户信息
    //因为后面重置的时候还要用，所有封装成函数
    let layer = layui.layer
    //函数不调用不执行
    initUserInfo()
    //封装
    function initUserInfo() {
        axios({
            method: 'GET',
            url: '/my/userinfo',
        }).then(res => {
            // console.log(res.data);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            //利用form中的方法赋值
            form.val('formUserInfo', res.data.data)
        })
    }

    //需求3：重置功能 - 给按钮绑定点击或者给form绑定重置
    // $('form').on('reset',function(e){
    $('#btnReset').on('click', function (e) {
        // 阻止表单默认重置行为
        e.preventDefault()
        //重新渲染表单
        initUserInfo()
    })

    //需求4：修改用户信息提交
    $('form').on('submit', function (e) {
        e.preventDefault()
        //发送ajax
        axios({
            method: 'POST',
            url: '/my/userinfo',
            data: $(this).serialize()
        }).then(res => {
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            //成功提示
            layer.msg('恭喜你，修改用户信息成功！')
            //直接调用无效，因为不是一个window对象
            window.parent.getUserInfo()
        })
    })
})